A network may take advantage of a network topology that includes an equal cost segment group from one endpoint in the network to another endpoint. This equal cost segment group allows network connections to increase throughput and provide redundancy in case a link in the equal cost segment group goes down. An equal cost segment group can be an aggregation of links from one network device connected to another device or a collection of multiple link paths between network devices. An example of an equal cost segment group is an Equal Cost Multipaths (ECMP) and Link Aggregation Groups (LAG).
A problem with equal cost segments is that the link selection is proprietary and hidden from the network device configuration. This means that a network operator does not have visibility into which type of data uses which of the links available in an equal cost segment group. Each LAG or ECMP configuration appears as a single logical entry in a Forwarding Information Base (FIB) or Routing Information Base (RIB) of the network element. For example, if a LAG includes four links (Links A, B, C, D) between two network elements, which type of data is used for each link depends on the link selection mechanism of the network element transmitting the data. Data destined for one node may be transmitted on Link B, whereas data sourced from another node may be transmitted on Link D. A network element selects which link of an equal cost segment based on the characteristics of the data packet being transmitted. Each network element may have a proprietary selection mechanism and this selection mechanism may vary by device, vendor, or other criteria.
Because a network operator does not know, a priori, which links will be used for which types of data, it is difficult to design a network so that the network can be used efficiently. For example, general best effort web data may be selected to use the same link of an equal cost segment group as latency sensitive data used for a high-speed trading service. It would be useful to probe an equal cost segment group to determine which type of data uses which links. In addition, it would be useful to monitor these links to determine if performance of one of the links is deteriorating before other links of the equal cost segment group. Furthermore, it would be useful to optimize path(s) between clients of a service and that service so as to assign certain links of an equal cost segment and the performance of that service is improved.